﻿#region Using Directives

using System;

using Csla;

using MarketPulse.BusinessLogic.Core;
using MarketPulse.Reporting.Core.Criteria;

#endregion

namespace MarketPulse.Reporting.Core
{
    /// <summary>
    /// This class represents a read only instance of a reporting Visit within the system.
    /// </summary>
    [Serializable]
    public class McDonaldsCSOTrendingReportInfo : MarketPulseReadOnlyBase<McDonaldsCSOTrendingReportInfo>
    {

        #region Constructors

            /// <summary>
            /// Default constructor is private in order to (try to) enforce construction
            /// only via the static factory methods provided.
            /// </summary>
            protected McDonaldsCSOTrendingReportInfo()
            {
            }

        #endregion

        #region Properties

            /// <summary>
            /// The Idxx property
            /// </summary>
            public static PropertyInfo<System.Guid> IdxxProperty = RegisterProperty<System.Guid>(p => p.Idxx, string.Empty);
            public System.Guid Idxx
            {
                get { return GetProperty(IdxxProperty); }
            }

            /// <summary>
            /// The YearPeriod property
            /// </summary>
            public static PropertyInfo<System.String> YearPeriodProperty = RegisterProperty<System.String>(p => p.YearPeriod, string.Empty, (System.String)null);
            public System.String YearPeriod
            {
                get { return GetProperty(YearPeriodProperty); }
            }

            /// <summary>
            /// The ComponentLabel property
            /// </summary>
            public static PropertyInfo<System.String> ComponentLabelProperty = RegisterProperty<System.String>(p => p.ComponentLabel, string.Empty, (System.String)null);
            public System.String ComponentLabel
            {
                get { return GetProperty(ComponentLabelProperty); }
            }

            /// <summary>
            /// The CSOscore property
            /// </summary>
            public static PropertyInfo<System.Decimal?> CSOscoreProperty = RegisterProperty<System.Decimal?>(p => p.CSOscore, string.Empty, (System.Decimal?)null);
            public System.Decimal? CSOscore
            {
                get { return GetProperty(CSOscoreProperty); }
            }

        #endregion


    }
}
